
/*

Design Pattern Automation Toolkit.
Application to create applications with emphasis on Design patterns.
And support for round trip engineering.
Copyright (C) 2004 Vineeth Neelakant. nvineeth@gmail.com

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

*/
using System;using BusinessLayer;using InfoClasses;using dpatoolkit.UILayer;
using System.Collections;
using DesignPatternDefinitions;
namespace BusinessLayer
{
	/// <summary>
	/// This delegate handles the change in name of a class
	/// </summary>
	public delegate void ClassNameObserver(string oldName,object cls);
	/// <summary>
	/// This delegate handles the change in type of a class
	/// </summary>
	public delegate void ClassTypeObserver(string cname,  ClassType ctype);
	/// <summary>
	/// This delegate handles the change in Fields of a class
	/// </summary>
	public delegate void ClassFieldObserver(string cname,object cls);
	/// <summary>
	/// This delegate handles the change in Methods of a class
	/// </summary>
	public delegate void ClassMethodObserver(string cname,object cls);

	/// <summary>
	/// This delegate handles the addition of a aggregate to a class
	/// </summary>
	public delegate void ClassAggregateObserver(string cname1,string cname2);

	/// <summary>
	/// This delegate is used when the position of a UIObject is changed by dragging.
	/// </summary>
	public delegate void UIPositionObserver(object obj);

	public delegate void RelationObserver(string cname,object cls);

	public delegate void AddNewClassObserver( object cls);

	public delegate void ReInitialize( object details);
}